home *** CD-ROM | disk | FTP | other *** search
Text File | 1990-08-28 | 9.4 KB | 6 lines | [GPAL/GPCE] |
-
- ((1063) (1063 :OBJECT-NAME *PROGRAM* :NAME "factorial" :GOAL-DESCRIPTION "A Pascal construct to start and name a program." :PARENT :NONE :CHILDREN (1083 1626 1671) :COMPOSERS :NONE :MULTIPLE-COMPOSERS-P :NONE :SLOT-LIST (1064 1065)) (1064 :OBJECT-NAME *MULTI-SLOT* :NAME "body" :MY-PLAN 1063 :TYPE NON-EXPRESSION :CONTENTS (1657 1684)) (1065 :OBJECT-NAME *MULTI-SLOT* :NAME "procs" :MY-PLAN 1063 :TYPE NON-EXPRESSION :CONTENTS (1096)) (1083 :OBJECT-NAME *GOAL* :NAME "G:test recursion" :GOAL-DESCRIPTION "a program to test recursion" :PARENT 1063 :CHILDREN (1096) :COMPOSERS :NONE :MULTIPLE-COMPOSERS-P :NONE :SLOT-LIST :NONE) (1090 :OBJECT-NAME *REAL-CONSTANT* :NAME "number" :GOAL-DESCRIPTION "a number to calculate the factorial of..." :PARENT NIL :CHILDREN :NONE :COMPOSERS NIL :MULTIPLE-COMPOSERS-P T :SLOT-LIST (1092 1091)) (1091 :OBJECT-NAME *MULTI-SLOT* :NAME "body" :MY-PLAN 1090 :TYPE *PLAN* :CONTENTS NIL) (1092 :OBJECT-NAME *UNI-SLOT* :NAME "value" :MY-PLAN 1090 :TYPE REAL :CONTENTS (0.0)) (1093 :OBJECT-NAME *REAL-VARIABLE* :NAME "result" :GOAL-DESCRIPTION "the result of the calculation" :PARENT NIL :CHILDREN :NONE :COMPOSERS NIL :MULTIPLE-COMPOSERS-P T :SLOT-LIST (1095 1094)) (1094 :OBJECT-NAME *MULTI-SLOT* :NAME "body" :MY-PLAN 1093 :TYPE *PLAN* :CONTENTS NIL) (1095 :OBJECT-NAME *UNI-SLOT* :NAME "value" :MY-PLAN 1093 :TYPE REAL :CONTENTS (0.0)) (1096 :OBJECT-NAME *PROCEDURE* :NAME "factorial" :GOAL-DESCRIPTION "a procedure to calculate the factorial of a number" :PARENT 1083 :CHILDREN (1114 1140 1168 1413 1445 1548 1570) :COMPOSERS (1065) :MULTIPLE-COMPOSERS-P NIL :SLOT-LIST (1098 1099 1097)) (1097 :OBJECT-NAME *MULTI-SLOT* :NAME "body" :MY-PLAN 1096 :TYPE NON-EXPRESSION :CONTENTS (1120)) (1098 :OBJECT-NAME *MULTI-SLOT* :NAME "inputs" :MY-PLAN 1096 :TYPE *EXPRESSION* :CONTENTS (1090)) (1099 :OBJECT-NAME *MULTI-SLOT* :NAME "outputs" :MY-PLAN 1096 :TYPE *VARIABLE* :CONTENTS (1093)) (1114 :OBJECT-NAME *GOAL* :NAME "G:main test" :GOAL-DESCRIPTION "main test" :PARENT 1096 :CHILDREN (1120) :COMPOSERS :NONE :MULTIPLE-COMPOSERS-P :NONE :SLOT-LIST :NONE) (1120 :OBJECT-NAME *IF-THEN-ELSE* :NAME "if-then-else" :GOAL-DESCRIPTION "A Pascal construct to decide between executing
- one or another of two groups of statements, depending
- on the result of a boolean test." :PARENT 1114 :CHILDREN :NONE :COMPOSERS (1097) :MULTIPLE-COMPOSERS-P NIL :SLOT-LIST (1121 1122 1123)) (1121 :OBJECT-NAME *UNI-SLOT* :NAME "test" :MY-PLAN 1120 :TYPE *BOOLEAN-EXPRESSION* :CONTENTS (1154)) (1122 :OBJECT-NAME *MULTI-SLOT* :NAME "then-body" :MY-PLAN 1120 :TYPE NON-EXPRESSION :CONTENTS (1396)) (1123 :OBJECT-NAME *MULTI-SLOT* :NAME "else-body" :MY-PLAN 1120 :TYPE NON-EXPRESSION :CONTENTS (1421 1558)) (1140 :OBJECT-NAME *GOAL* :NAME "G:recursion test" :GOAL-DESCRIPTION "recursion test" :PARENT 1096 :CHILDREN (1154) :COMPOSERS :NONE :MULTIPLE-COMPOSERS-P :NONE :SLOT-LIST :NONE) (1151 :OBJECT-NAME *REAL-CONSTANT* :NAME "end_value" :GOAL-DESCRIPTION "end-value of recurion" :PARENT NIL :CHILDREN :NONE :COMPOSERS NIL :MULTIPLE-COMPOSERS-P T :SLOT-LIST (1153 1152)) (1152 :OBJECT-NAME *MULTI-SLOT* :NAME "body" :MY-PLAN 1151 :TYPE *PLAN* :CONTENTS NIL) (1153 :OBJECT-NAME *UNI-SLOT* :NAME "value" :MY-PLAN 1151 :TYPE REAL :CONTENTS (0.0)) (1154 :OBJECT-NAME *LESS-THAN-OR-EQUAL* :NAME "<=" :GOAL-DESCRIPTION "A Pascal operator to test whether one real
- expression is less than or equal to another." :PARENT 1140 :CHILDREN NIL :COMPOSERS (1121) :MULTIPLE-COMPOSERS-P NIL :SLOT-LIST (1155 1156 1157)) (1155 :OBJECT-NAME *UNI-SLOT* :NAME "value" :MY-PLAN 1154 :TYPE BOOLEAN :CONTENTS NIL) (1156 :OBJECT-NAME *UNI-SLOT* :NAME "expression1" :MY-PLAN 1154 :TYPE *REAL-EXPRESSION* :CONTENTS (1090)) (1157 :OBJECT-NAME *UNI-SLOT* :NAME "expression2" :MY-PLAN 1154 :TYPE *REAL-EXPRESSION* :CONTENTS (1151)) (1168 :OBJECT-NAME *GOAL* :NAME "G:end assign" :GOAL-DESCRIPTION "first assignment in factorial calculation" :PARENT 1096 :CHILDREN (1396) :COMPOSERS :NONE :MULTIPLE-COMPOSERS-P :NONE :SLOT-LIST :NONE) (1178 :OBJECT-NAME *REAL-CONSTANT* :NAME "initial_value" :GOAL-DESCRIPTION "initial value when calculating the factorial of a number" :PARENT NIL :CHILDREN :NONE :COMPOSERS NIL :MULTIPLE-COMPOSERS-P T :SLOT-LIST (1180 1179)) (1179 :OBJECT-NAME *MULTI-SLOT* :NAME "body" :MY-PLAN 1178 :TYPE *PLAN* :CONTENTS NIL) (1180 :OBJECT-NAME *UNI-SLOT* :NAME "value" :MY-PLAN 1178 :TYPE REAL :CONTENTS (1.0)) (1396 :OBJECT-NAME *ASSIGN* :NAME ":=" :GOAL-DESCRIPTION "A Pascal construct to assign a value to a given variable." :PARENT 1168 :CHILDREN :NONE :COMPOSERS (1122) :MULTIPLE-COMPOSERS-P NIL :SLOT-LIST (1397 1398)) (1397 :OBJECT-NAME *UNI-SLOT* :NAME "variable" :MY-PLAN 1396 :TYPE *VARIABLE* :CONTENTS (1093)) (1398 :OBJECT-NAME *UNI-SLOT* :NAME "expression" :MY-PLAN 1396 :TYPE *EXPRESSION* :CONTENTS (1178)) (1413 :OBJECT-NAME *GOAL* :NAME "G:recursive call" :GOAL-DESCRIPTION "recursively call factorial" :PARENT 1096 :CHILDREN (1421) :COMPOSERS :NONE :MULTIPLE-COMPOSERS-P :NONE :SLOT-LIST :NONE) (1421 :OBJECT-NAME *PROC-CALL* :NAME "factorial" :GOAL-DESCRIPTION "a procedure to calculate the factorial of a number" :PARENT 1413 :CHILDREN :NONE :COMPOSERS (1123) :MULTIPLE-COMPOSERS-P NIL :SLOT-LIST (1422 1423)) (1422 :OBJECT-NAME *MULTI-SLOT* :NAME "inputs" :MY-PLAN 1421 :TYPE *EXPRESSION* :CONTENTS (1526)) (1423 :OBJECT-NAME *MULTI-SLOT* :NAME "outputs" :MY-PLAN 1421 :TYPE *VARIABLE* :CONTENTS (1093)) (1445 :OBJECT-NAME *GOAL* :NAME "G:decremement by one" :GOAL-DESCRIPTION "decrement by one" :PARENT 1096 :CHILDREN (1526) :COMPOSERS :NONE :MULTIPLE-COMPOSERS-P :NONE :SLOT-LIST :NONE) (1457 :OBJECT-NAME *REAL-CONSTANT* :NAME "decrement_value" :GOAL-DESCRIPTION "the number 1" :PARENT NIL :CHILDREN :NONE :COMPOSERS NIL :MULTIPLE-COMPOSERS-P T :SLOT-LIST (1459 1458)) (1458 :OBJECT-NAME *MULTI-SLOT* :NAME "body" :MY-PLAN 1457 :TYPE *PLAN* :CONTENTS NIL) (1459 :OBJECT-NAME *UNI-SLOT* :NAME "value" :MY-PLAN 1457 :TYPE REAL :CONTENTS (1.0)) (1526 :OBJECT-NAME *SUBTRACT* :NAME "-" :GOAL-DESCRIPTION "A Pascal operator to subtract two numbers." :PARENT 1445 :CHILDREN NIL :COMPOSERS (1422) :MULTIPLE-COMPOSERS-P NIL :SLOT-LIST (1527 1528 1529)) (1527 :OBJECT-NAME *UNI-SLOT* :NAME "value" :MY-PLAN 1526 :TYPE REAL :CONTENTS NIL) (1528 :OBJECT-NAME *UNI-SLOT* :NAME "subtrahend" :MY-PLAN 1526 :TYPE *REAL-EXPRESSION* :CONTENTS (1457)) (1529 :OBJECT-NAME *UNI-SLOT* :NAME "minuend" :MY-PLAN 1526 :TYPE *REAL-EXPRESSION* :CONTENTS (1090)) (1548 :OBJECT-NAME *GOAL* :NAME "G:final assign" :GOAL-DESCRIPTION "final assign" :PARENT 1096 :CHILDREN (1558) :COMPOSERS :NONE :MULTIPLE-COMPOSERS-P :NONE :SLOT-LIST :NONE) (1558 :OBJECT-NAME *ASSIGN* :NAME ":=" :GOAL-DESCRIPTION "A Pascal construct to assign a value to a given variable." :PARENT 1548 :CHILDREN :NONE :COMPOSERS (1123) :MULTIPLE-COMPOSERS-P NIL :SLOT-LIST (1559 1560)) (1559 :OBJECT-NAME *UNI-SLOT* :NAME "variable" :MY-PLAN 1558 :TYPE *VARIABLE* :CONTENTS (1093)) (1560 :OBJECT-NAME *UNI-SLOT* :NAME "expression" :MY-PLAN 1558 :TYPE *EXPRESSION* :CONTENTS (1581)) (1570 :OBJECT-NAME *GOAL* :NAME "G:multiply return" :GOAL-DESCRIPTION "multiply return" :PARENT 1096 :CHILDREN (1581) :COMPOSERS :NONE :MULTIPLE-COMPOSERS-P :NONE :SLOT-LIST :NONE) (1581 :OBJECT-NAME *MULTIPLY* :NAME "*" :GOAL-DESCRIPTION "A Pascal operator to multiply two numbers." :PARENT 1570 :CHILDREN NIL :COMPOSERS (1560) :MULTIPLE-COMPOSERS-P NIL :SLOT-LIST (1582 1583 1584)) (1582 :OBJECT-NAME *UNI-SLOT* :NAME "value" :MY-PLAN 1581 :TYPE REAL :CONTENTS NIL) (1583 :OBJECT-NAME *UNI-SLOT* :NAME "multiplicand" :MY-PLAN 1581 :TYPE *REAL-EXPRESSION* :CONTENTS (1090)) (1584 :OBJECT-NAME *UNI-SLOT* :NAME "multiplier" :MY-PLAN 1581 :TYPE *REAL-EXPRESSION* :CONTENTS (1093)) (1626 :OBJECT-NAME *GOAL* :NAME "G:call factorial" :GOAL-DESCRIPTION "call factorial" :PARENT 1063 :CHILDREN (1657) :COMPOSERS :NONE :MULTIPLE-COMPOSERS-P :NONE :SLOT-LIST :NONE) (1651 :OBJECT-NAME *REAL-CONSTANT* :NAME "TestNumber" :GOAL-DESCRIPTION "a number to test the factorial program" :PARENT NIL :CHILDREN :NONE :COMPOSERS NIL :MULTIPLE-COMPOSERS-P T :SLOT-LIST (1653 1652)) (1652 :OBJECT-NAME *MULTI-SLOT* :NAME "body" :MY-PLAN 1651 :TYPE *PLAN* :CONTENTS NIL) (1653 :OBJECT-NAME *UNI-SLOT* :NAME "value" :MY-PLAN 1651 :TYPE REAL :CONTENTS (1.0)) (1654 :OBJECT-NAME *REAL-VARIABLE* :NAME "FinalValue" :GOAL-DESCRIPTION "The final value of the program" :PARENT NIL :CHILDREN :NONE :COMPOSERS NIL :MULTIPLE-COMPOSERS-P T :SLOT-LIST (1656 1655)) (1655 :OBJECT-NAME *MULTI-SLOT* :NAME "body" :MY-PLAN 1654 :TYPE *PLAN* :CONTENTS NIL) (1656 :OBJECT-NAME *UNI-SLOT* :NAME "value" :MY-PLAN 1654 :TYPE REAL :CONTENTS (0.0)) (1657 :OBJECT-NAME *PROC-CALL* :NAME "factorial" :GOAL-DESCRIPTION "a procedure to calculate the factorial of a number" :PARENT 1626 :CHILDREN :NONE :COMPOSERS (1064) :MULTIPLE-COMPOSERS-P NIL :SLOT-LIST (1658 1659)) (1658 :OBJECT-NAME *MULTI-SLOT* :NAME "inputs" :MY-PLAN 1657 :TYPE *EXPRESSION* :CONTENTS (1651)) (1659 :OBJECT-NAME *MULTI-SLOT* :NAME "outputs" :MY-PLAN 1657 :TYPE *VARIABLE* :CONTENTS (1654)) (1671 :OBJECT-NAME *GOAL* :NAME "G:print answer" :GOAL-DESCRIPTION "write the results to the screen" :PARENT 1063 :CHILDREN (1684) :COMPOSERS :NONE :MULTIPLE-COMPOSERS-P :NONE :SLOT-LIST :NONE) (1684 :OBJECT-NAME *WRITELN* :NAME "writeln" :GOAL-DESCRIPTION "A Pascal construct to write to the
- screen a message terminated by a return character." :PARENT 1671 :CHILDREN :NONE :COMPOSERS (1064) :MULTIPLE-COMPOSERS-P NIL :SLOT-LIST (1685)) (1685 :OBJECT-NAME *MULTI-SLOT* :NAME "message" :MY-PLAN 1684 :TYPE *EXPRESSION* :CONTENTS (1654)))